/*******************************************************************************
 * Copyright (c) 2013 Zero Square LLC.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Zero Square LLC. Version 1
 * which accompanies this distribution
 ******************************************************************************/
package com.zsqr.dashboard.domain;

import java.io.Serializable;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

/**
 * POJO object to send XML request to payment gateway
 * @author Saurabh
 *
 */
@XmlRootElement(name="GatewayRequest")
public class CreditSaleRequest implements Serializable{
	
	private static final long serialVersionUID = -4213719328734284886L;
	
	private String SpecVersion;
	private long XWebID;
	private String AuthKey;
	private long TerminalID;
	//private long  TrackingID;
	//private String Mode;
	private String Industry;
	private String POSType;
	private String PinCapabilities;
	private String TrackCapabilities;
	private double Amount;
	private String TransactionType;
	private long AcctNum;
	private String ExpDate;
	//private String DuplicateMode;
	private String CustomerPresent;
	private String CardPresent;
	private int CardCode;
	private String Address;
	private int ZipCode;
	
	
	//**********
	
	/*public CreditSaleRequest() {
        
        this.SpecVersion = "XWeb3.4";
        this.XWebID = 123456789012L;
        this.POSType = "PC";
        this.AuthKey = "UfHjHCcd3x1ERZE0xcg76XHBJcJU425h";
        this.Industry = "RETAIL";
        this.TerminalID = 12345678;
        this.PinCapabilities = false;
        this.TrackCapabilities = "NONE";       
        //this.Mode = "DEVELOPMENT";
        this.TrackingID=1234567890123456L;
        this.TransactionType = "CreditSaleTransaction";
        this.DuplicateMode = "CHECKING ON";                
        this.CustomerPresent = false;
        this.CardPresent = false;
        this.Amount = 1.00;
        this.AcctNum = 5454545454545454L;
        this.ExpDate = "1209";
        this.CardCode = 998;
        this.Address = "123 Anystreet Drive";
        this.ZipCode = 54321;
        
}*/
	//*************
	@XmlElement(name = "SpecVersion")
	public String getSpecVersion() {
		return SpecVersion;
	}


	public void setSpecVersion(String specVersion) {
		SpecVersion = specVersion;
	}

	@XmlElement(name = "XWebID")
	public long getXWebID() {
		return XWebID;
	}


	public void setXWebID(long xWebID) {
		XWebID = xWebID;
	}

	@XmlElement(name = "AuthKey")
	public String getAuthKey() {
		return AuthKey;
	}


	public void setAuthKey(String authKey) {
		AuthKey = authKey;
	}

	@XmlElement(name = "TerminalID")
	public long getTerminalID() {
		return TerminalID;
	}


	public void setTerminalID(long terminalID) {
		TerminalID = terminalID;
	}


	//public String getMode() {
		//return Mode;
	//}


	//public void setMode(String mode) {
		//Mode = mode;
	//}

	@XmlElement(name = "Industry")
	public String getIndustry() {
		return Industry;
	}


	public void setIndustry(String industry) {
		Industry = industry;
	}

	@XmlElement(name = "POSType")
	public String getPOSType() {
		return POSType;
	}


	public void setPOSType(String pOSType) {
		POSType = pOSType;
	}

	@XmlElement(name = "PinCapabilities")
	public String getPinCapabilities() {
		return PinCapabilities;
	}


	public void setPinCapabilities(String pinCapabilities) {
		PinCapabilities = pinCapabilities;
	}

	@XmlElement(name = "TrackCapabilities")
	public String getTrackCapabilities() {
		return TrackCapabilities;
	}


	public void setTrackCapabilities(String trackCapabilities) {
		TrackCapabilities = trackCapabilities;
	}

	@XmlElement(name = "Amount")
	public double getAmount() {
		return Amount;
	}


	public void setAmount(double amount) {
		Amount = amount;
	}

	@XmlElement(name = "TransactionType")
	public String getTransactionType() {
		return TransactionType;
	}


	public void setTransactionType(String transactionType) {
		TransactionType = transactionType;
	}

    
	@XmlElement(name = "AcctNum")
	public long getAcctNum() {
		return AcctNum;
	}


	public void setAcctNum(long acctNum) {
		AcctNum = acctNum;
	}

	@XmlElement(name = "ExpDate")
	public String getExpDate() {
		return ExpDate;
	}


	public void setExpDate(String expDate) {
		ExpDate = expDate;
	}

/*	@XmlElement(name = "DuplicateMode")
	public String getDuplicateMode() {
		return DuplicateMode;
	}


	public void setDuplicateMode(String duplicateMode) {
		DuplicateMode = duplicateMode;
	}*/

	@XmlElement(name = "CustomerPresent")
	public String getCustomerPresent() {
		return CustomerPresent;
	}


	public void setCustomerPresent(String customerPresent) {
		CustomerPresent = customerPresent;
	}

	@XmlElement(name = "CardPresent")
	public String getCardPresent() {
		return CardPresent;
	}


	public void setCardPresent(String cardPresent) {
		CardPresent = cardPresent;
	}

	@XmlElement(name = "CardCode")
	public int getCardCode() {
		return CardCode;
	}


	public void setCardCode(int cardCode) {
		CardCode = cardCode;
	}

	@XmlElement(name = "Address")
	public String getAddress() {
		return Address;
	}


	public void setAddress(String address) {
		Address = address;
	}

    
	@XmlElement(name = "ZipCode")
	public int getZipCode() {
		return ZipCode;
	}


	public void setZipCode(int zipCode) {
		ZipCode = zipCode;
	}
    
	/*@XmlElement(name = "TrackingID")
	public long getTrackingID() {
		return TrackingID;
	}

	public void setTrackingID(long trackingID) {
		TrackingID = trackingID;
	}
*/

	
}
